Device and method for performing open-loop and closed-loop control of a robot manipulator

ABSTRACT

The invention relates to a device and method for performing open-loop and closed-loop control of a robot manipulator that has an end effector, driven by a number M of actuators ACTm. The invention includes a first unit which registers and/or makes available an external force wrench {right arrow over (F)}ext(t)={{right arrow over (f)}ext(t),{right arrow over (m)}ext(t)} acting on the end effector, a controller which is connected to the first unit and to the actuators ACTm and which includes a first controller R1, which is a force controller, and a second controller R2 which is connected thereto and which is an impedance controller, an admittance controller, a position controller or a cruise controller, wherein the controller determines actuating variables um(t) with which the actuators ACTm can be actuated in such way that when the end effector contacts a surface of an object, the end effector acts on the object with a desired force wrench {right arrow over (F)}D(t)={{right arrow over (f)}D(t),{right arrow over (m)}D(t)}; where um(t)=um,R1(t)+um,R2(t), wherein the first controller R1 is embodied and configured in such a way that the actuating variable um,R1(t) of R1 is determined as a product of a variable um,R1(t)* output by R1 and a function S(v(t)), or as a Q-dimensional function S*(v*(t), um,R1(t)*), where: um,R1(t)=S(v(t))·um,R1(t)* or um,R1(t)=S*(v*(t), um,R1(t)*); v(t)=v({right arrow over (F)}D(t), {right arrow over (R)}(t)); vϵ[va, ve], v*(t)=v*({right arrow over (F)}D(t), {right arrow over (R)}(t))=[v1*({right arrow over (F)}D(t), {right arrow over (R)}(t)), . . . , vQ*({right arrow over (F)}D(t), {right arrow over (R)}(t))].

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the U.S. National Phase of, and Applicant claimspriority from, International Application No. PCT/EP2016/052198, filed 2Feb. 2016, and German Patent Application No. DE 10 2015 102 642.2, filed24 Feb. 2015, both of which are incorporated herein by reference intheir entirety.

BACKGROUND Field

The invention relates to a device and method for performing open-loopand closed-loop control of a robot manipulator, which is driven by anumber M of actuators ACT_(m) and has an end effector, where m=1, 2, . .. , M. Further, the invention relates to a computer system having a dataprocessing device, a digital storage medium, a computer program productand a computer program.

Related Art

It is known that robot manipulators can exceed humans in the performanceof handling tasks with respect to repeatable speed and precision. Withrespect to sensitive exertion of force and compliancy, humans, however,are still superior to a robot manipulator regarding tasks, whichprimarily becomes apparent in real applications, which require objectsto be sensitively manipulated or assembled. The latter requires acomplex coordination of contact forces and sequence of movements.

“Impedance control” of robot manipulators is known in this context. Theconcept of impedance control of robot manipulators aims at imitatinghuman behavior by active control of a robot manipulator, e.g., based onan externally animated mass spring damper model.

Generally, an intended compliancy of robot manipulators can be generatedeither by active control, by inserting compliant components into therobot manipulator or a combination of both. It is further known that itis not possible to create an arbitrary Cartesian compliancy solely byuncoupled elastic joints (Albu-Schäffer, Fischer, Schreiber, Schoeppe, &Hirzinger, 2004), so that a passive compliancy of a robot manipulatoralways requires to be combined with an active control to avoid theproblem. In doing so, inaccuracies in the object model/surface model canbe avoided, defined powers can be exerted onto the environment, and/orobjects can be manipulated.

Furthermore, known is an “active interaction control”. An activeinteraction control can be divided into “direct” and “indirect” forcecontrol (Villani & De Schutter, 2008). Recently, such force controllershaving variations of the virtual position were introduced (Lutscher &Cheng, 2014 and Lee & Huang, 2010). Furthermore known is a power,position and/or impedance control under predetermined mandatoryconditions in different spaces (Borghesan & De Schutter, 2014).

Although significant progress has been made in the field of robotmanipulator control, the following disadvantages continue to exist.

For example, a purely impedance controlled robot manipulator generatesthe desired forces either based on a pure feed forward control or basedon a respective displacement of a virtually desired position of aneffector of the robot manipulator. Therefore, this controller class doesnot explicitly take into consideration external forces, which, however,is required if a predetermined force/torque of an effector of the robotmanipulator is to be exerted onto an environment/object/work piece etc.with sufficient accuracy. Furthermore, the environment is required to bemodelled with sufficient accuracy regarding its geometry and compliancyproperties for this controller approach to work. This, however,contradicts the fundamental idea of impedance control to work in anunmodeled environment.

If a predefined large force is exerted onto an object (environment) bythe effector of the robot manipulator via feed forward control, it isfurthermore disadvantageous for a pure impedance controlled robotmanipulator that a potentially dangerous instantaneous and largemovement is executed by the robot manipulator (with respect to thetravelled effector path, speed, and acceleration) in case of occurrenceof loss of contact between effector and object. This is, e.g.,conditioned by a virtually desired position of the effector being faraway from the actual position of the effector in case of loss ofcontact.

Furthermore known is a “pure force control” of robot manipulators. Aforce control of a robot manipulator presents the basics to exchangeexternal forces sufficiently enough with the environment and thusfacilitates an exact manipulation of objects or the surfaces thereof.Such ability is an essential necessity in industrial applications ofrobot manipulators. Thus, the rather imprecise impedance control is noalternative for force control. These problems have caused diverseapproaches of the so-called hybrid position force control (Raibert &Craig, 1981). These hybrid position force controls are based on the ideato partition a so-called “task space” into complementary force andposition spaces so that force or torque and movement can be exerted andcontrolled in their separate spaces.

A disadvantage of known hybrid force controls is that they have very lowrobustness with respect to loss of contact of the robot manipulator withan environment. Furthermore, an environment is required to be exactlymodelled in this case, as well, to secure good control performance,which, however, seldom exists with sufficient quality.

To show the stability of such controllers, the environment is typicallymodelled as a simple spring damper system. An overview on various forcecontrollers including comments on the stability analysis thereof can befound in (Zeng & Hemami, 1997). A very general critique on suchcontrollers is specified in (Duffy, 1990), because a wrong selection ofthe metrics or the coordinate system is oftentimes made.

SUMMARY

It is the object of the invention to specify a device and a method forperforming open-loop closed-loop control of a robot manipulator havingan end effector, driven by a number M of actuators ACT_(m), where m=1,2, . . . , M, which avoid the above mentioned disadvantages to a largeextent. In particular, large movements of the robot manipulator afterloss of contact by the end effector with an object can be avoided.

The invention becomes apparent from the features of the independentclaims. Advantageous further developments and embodiments are subject ofthe dependent claims. Further features, application possibilities, andadvantages of the invention will become apparent from the followingdescription as well as the explanation of example embodiments of theinvention, which are illustrated in the figures.

According to a first aspect, the object is solved by a device forperforming open-loop and closed-loop control of a robot manipulatorhaving an end effector, driven by a number M of actuators ACT_(m), wherem=1, 2, . . . , M. The term “actuators” is to be understood broadly. Itincludes, e.g., electric motors, linear motors, multiphase motors, Piezoactuators, etc.

The device further includes a first unit, which registers and/or makesavailable an external force wrench {right arrow over(F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)}, acting on the end effector, where {right arrow over(f)}_(ext)(t):=external force acting on the end effector and {rightarrow over (m)}_(ext)(t):=external torque acting on the end effector. Todo so, the first unit advantageously has a sensor system to register theexternal force wrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (m)}_(ext)(t)} and/or an estimator toestimate the external force wrench {right arrow over(F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)}. The sensor system advantageously includes one or moreforce sensors and/or torque sensors. The estimator advantageouslyincludes a processor to run a program that estimates the external forcewrench {right arrow over (F)}_(ext)(t).

Furthermore, the suggested device includes a controller connected withthe first unit and the actuators ACT_(m). The controller, in turn,includes a first controller R1, which is a force controller, and asecond controller R2 connected thereto. The second controller R2 is animpedance controller, an admittance controller, a position controller, acruise controller, or a combination thereof. The controller determinesactuating variables u_(m)(t), with which the actuators ACT_(m) can beactuated in such way that when contact occurs with the surface of anobject, the end effector acts on the object with a desired force wrench{right arrow over (F)}_(D)(t)={{right arrow over (f)}_(D)(t),{rightarrow over (m)}_(D)(t)}, wherein:u _(m)(t)=u _(m,R1)(t)+u _(m,R2)(t)  (1)with {right arrow over (f)}_(D)(t):=predetermined power, {right arrowover (m)}_(D)(t):=predetermined torque, u_(m,R1)(t):=actuating variablesof the first controller R1, and u_(m,R2)(t):=actuating variables of thesecond controller R2 and t:=time. The desired force wrench {right arrowover (F)}_(D)(t) is predefined for when the object is presented to therobot.

In doing so, the first controller R1 is embodied and configured in suchway that an actuating variable u_(m,R1)(t) of R1 is determined as aproduct of a variable u_(m,R1)(t)* output by R1 and a function S(v(t)),or as a Q-dimensional function S*(v*(t), u_(m,R1)(t)*), wherein:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*  (2a)u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*)  (2b)v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))  (3a)v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))]v*(t)=[v ₁*(t),v ₂*(t), . . . ,V _(Q)*(t)]  (3b)vϵ[v _(a) ,v _(e)]  (4a)v ₁*(t)ϵ[v _(1a) ,v _(1e)],v ₂*(t)ϵ[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)ϵ[v _(Qa) ,v _(Qe)]  (4b)with: u_(m,R1)(t)*:=a variable determined by the first controller R1 togenerate the desired force wrench {right arrow over (F)}_(D)(t); {rightarrow over (R)}(t):=a control error made available by the controller,S(v(t)):=a monotonically decreasing function of v(t), which depends ondesired force wrench {right arrow over (F)}_(D)(t) and control error{right arrow over (R)}(t); S*(v*(t), u_(m,R1)(t)*):=a Q-dimensionalfunction for which the influence of the variable u_(m,R1)(t)* isbasically monotonically decreasing in each of Q individual components[v₁*(t), v₂*(t), . . . , V_(Q)*(t)]; [v_(a), v_(e)]:=a predefineddefinition area of the variable v(t); and [v_(1a), v_(1e)], [v_(2a),v_(2e)], . . . , [v_(Qa), v_(Qe)] a component-wise definition area of avector quantity v*(t) of a dimension Q.

In one alternative, the invention features variables u_(m,R1)(t)* offorce controller R1, which are determined conventionally, and multipliedwith a monotonically decreasing function S(v(t))=S(v({right arrow over(F)}_(D)(t), {right arrow over (R)}(t))) (so-called “shaping function”of desired force wrench and control error), thus generating actuatingvariables u_(m,R1)(t) which altogether cause that, when the end effectorloses contact with an environment (e.g., surface of an object), largemovements of the robot manipulator can be excluded.

The “shaping” effect can also be achieved in another alternative, inwhich actuating variables u_(m,R1)(t) are determined as a Q-dimensionalfunction S*(v(t), u_(m,R1)(t)*). In doing so, “shaping” effectsaccording to the invention are achieved for all those configurations ofthe force controller, which cannot be represented mathematically as aproduct of variables u_(m,R1)(t)* and monotonically decreasing functionS(v(t)). For example, individual components of a PID controller can havedifferent, respectively monotonically decreasing shaping functionS*₁(v*₁(t)), S*₂(v*₂(t)), . . . .

The function S(v(t)) of the first alternative preferably has a valuedomain of [1, 0]. In case of contact of the end effector with theenvironment (normal operation), S(v(t))=1. If the end effector losescontact with the environment (e.g., surface of an object), then a largecontrol error {right arrow over (R)}(t) occurs at the controller.S(v(t)) is preferably actuated such that the larger the control error{right arrow over (R)}(t) and the larger the desired force wrench {rightarrow over (F)}_(D)(t) to be applied by the end effector, the faster thefunction v(t) decreases from one (1) to zero (0). This appliesanalogously to Q-dimensional function S*(v*(t)) of the secondalternative.

A further development of the proposed device is characterized in that—incase that the object with which the end effector is in contact and ontosurface of which it exerts the desired force wrench {right arrow over(F)}_(D)(t) is elastic and its surface is flexible—the controller takesinto consideration predefined elasticity properties of the object whendetermining the actuating variables u_(m)(t).

A further development of the proposed device is characterized in that asecond unit is present, which serves as energy storage for passivationof the controller and stores energy T1 coming from the controlleraccording to a predefined energy storage dynamic and delivers energy T2to the controller, wherein the second unit and the controller form aclosed loop, and an initialization of the unit with energy T0 depends ona determined or predefined expenditure of energy E_(Expenditure) toperform a current task of the robot manipulator. In doing so, energy Estored by the second unit can be a virtual or a physical energy. In thefirst case, the virtual energy is only an operand. In the second case,the energy is a physical energy (e.g., electrical energy), wherein thesecond unit includes a corresponding physical energy storage (e.g., abattery). The second case of the further development facilitates notonly an improved, i.e., passivated open-loop and closed-loop control ofthe robot manipulator, but also simultaneously a decrease of theexpenditure of energy during operation of the robot manipulator.

An upper energy limit G1 is defined advantageously for the above furtherdevelopment, wherein the second unit is embodied and configured suchthat: E≤G1 is always true for the energy E stored in the second unit.Furthermore advantageously defined is a lower energy limit G2, with:0<G2<G1, and the second unit is embodied such that, if: G2<E≤G1 is truefor the energy E stored in the second energy unit, the second unit iscoupled to the controller, and if E≤G2 is true, the second unit isuncoupled from the controller.

A further aspect of the invention relates to a robot having a robotmanipulator with an end effector, driven by a number M of actuatorsACT_(m), which has a device as explained herein, where m=1, 2, . . . ,M.

A further aspect of the invention relates to a method for performingopen-loop and closed-loop control of a robot manipulator having an endeffector, driven by a number M of actuators ACT_(m), where m=1, 2, . . ., M, the method including the following steps: registering and/or makingavailable an external force wrench {right arrow over(F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)} acting on the end effector, where {right arrow over(f)}_(ext)(t):=external force acting on the end effector, {right arrowover (m)}_(ext)(t):=external torque acting on the end effector;determining actuating variables u_(m)(t) using a controller, whichincludes a first controller R1, which is a force controller, and asecond controller R2 connected therewith (second controller is animpedance controller, an admittance controller, a position controller, acruise controller, or a combination thereof), with which the actuatorsACT_(m) are actuated in such way that when contact occurs with a surfaceof an object, the end effector acts on the object with a desired forcewrench {right arrow over (F)}_(D)(t)={{right arrow over(f)}_(D)(t),{right arrow over (m)}_(D)(t)} wherein:u _(m)(t)=u _(m,R1)(t)+u _(m,R2)(t)  (1)where {right arrow over (f)}_(D)(t):=predefined force; {right arrow over(m)}_(D)(t):=predefined torque, u_(m,R1)(t):=actuating variables of thefirst controller R1, and u_(m,R2)(t):=actuating variables of the secondcontroller R2, wherein the first controller R1 is embodied andconfigured in such way that an actuating variable u_(m,R1)(t) isdetermined as a product of a variable u_(m,R1)(t)* output by R1 and afunction S(v(t)), or as a Q-dimensional function S*(v*(t),u_(m,R1)(t)*), wherein:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*  (2a)u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*)  (2b)v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))  (3a)v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))]v*(t)=[v ₁*(t),v ₂*(t), . . . ,V _(Q)*(t)]  (3b)vϵ[v _(a) ,v _(e)]  (4a)v ₁*(t)ϵ[v _(1a) ,v _(1e)],v ₂*(t)ϵ[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)ϵ[v _(Qa) ,v _(Qe)]  (4b)where: u_(m,R1)(t)*:=is a variable determined by the first controller R1to generate the desired force wrench {right arrow over (F)}_(D)(t);{right arrow over (R)}(t):=is a control error of the controller,S(v(t)):=is a monotonically decreasing function of v(t), which isdependent on desired force wrench {right arrow over (F)}_(D)(t) andcontrol error {right arrow over (R)}(t); S*(v*(t), u_(m,R1)(t)*):=is aQ-dimensional function, where the influence of the variable u_(m,R1)(t)*is generally monotonically decreasing in each of Q individual components[v₁*(t), v₂*(t), . . . , V_(Q)*(t)]; [v_(a), v_(e)]:=a predefineddefinition area of the variable v(t); and [v_(1a), v_(1e)], [v₂,v_(2e)], . . . , [v_(Qa), v_(Qe)] is a component-wise definition area ofa vector quantity v*(t) of a dimension Q.

Preferably, predefined elasticity properties of the object will be takeninto consideration for the method by the controller during thedetermination of the actuating variables u_(m)(t), in case that theobject is elastic and thus its surface is flexible.

Furthermore, preferably, a second unit exists, which serves as energystorage for passivation of the controller, and which stores energy T1coming from the controller and delivers energy 12 to the controlleraccording to predefined energy storage dynamics, wherein the second unitand the controller form a closed loop and an initialization of the unitwith an energy T0 depends on a determined or predefined expenditure ofenergy E_(Expenditure) for implementation of a current task of the robotmanipulator.

Advantages and preferred further developments of the suggested methodresult from an analogous and mutatis mutandis application of the aboveexplanations regarding the suggested device.

A further aspect of the invention relates to a computer system having adata processing device, wherein the data processing device is designedsuch that a method as explained above is run on the data processingdevice.

A further aspect of the invention relates to a digital storage mediumhaving electronically readable control signals, wherein the controlsignals can interact with a programmable computer system such that amethod as explained above is run.

A further aspect of the invention relates to a computer program producthaving program code which is stored on a machine-readable carrier forimplementation of the method as explained above if the program code isrun on a data processing device.

A further aspect of the invention relates to a computer program havingprogram codes to implement the method, as explained above, if theprogram runs on a data processing device. To do so, the data processingdevice can be designed as any computer system known in the art.

The suggested device and the suggested method for performing open-loopand closed-loop control of a robot manipulator having an end effector,driven by a number M of actuators ACT_(m), where m=1, 2, . . . , M istherefore based on a robust, passive-based approach by combination offorce control with impedance control (cf. FIG. 1) and with energy tanks.The invention facilitates acceptance of arbitrary passive environmentsand thus has no necessity for variations of the virtually desiredposition, which have a rather non-robust behavior. The invention allowsfor a robust, compliant, and stable manipulation of an environment by arobot manipulator without having to choose between force or impedancecontrol. Furthermore, the described inherent disadvantage of force andimpedance control is avoided and the advantages of force control andimpedance control are combined, as best as possible. In particular,dangerous movements of the robot manipulator, which are caused by lossof contact of the end effector with the environment (e.g., surface of anobject), are avoided.

The following explanations explain the invention in detail with respectto the topics in the following sections: A) robot modelling, B)controller design, C) stabilization of losses of contact, and D)handling of flexible and strongly compliant objects.

A Robot Modelling

A1 Rigid Body Dynamics

The known dynamics of a robot manipulator having n joints (degrees offreedom, DOF) is given by:M(q){umlaut over (q)}+C(q,{dot over (q)}){dot over(q)}+g(q)=τ_(m)+τ_(ext)  (5)where q∈R^(n) is the joint position. The mass matrix is given byM(q)∈R^(n×n), the Coriolis and centrifugal vector by C(q,{dot over(q)}){dot over (q)}∈R^(n), and the gravitation vector by g(q)∈R^(n). Thecontrol input of the system is the motor torque τ_(m)∈R^(n), whereτ_(ext)∈R^(n) includes all externally engraved torques. In doing so,friction is neglected to simplify the illustration. External forces inthe Cartesian space are given by vector F_(ext):=(f_(ext) ^(T),m_(ext)^(T))^(T)∈R^(ϵ), which represents a force-torque vector. The vector canbe depicted by the transposed Jacobian matrix J^(T)(q) into externaljoint torques by τ_(ext)=J^(T)(q)F_(ext).A2 Dynamics of Flexible Joints

For lightweight design robot manipulators or those with springs in thejoints, assumption of equation (5) is not sufficiently exact to be ableto describe the inherent dynamics which is created by the presence offlexible structures such as the transmission. Therefore, the (reduced)model for robot manipulators having elastic joints is assumed for suchstructures (Spong, 1987)M(q){umlaut over (q)}+C(q,{dot over (q)}){dot over(q)}+g(q)=τ_(J)+τ_(ext)  (6)B{umlaut over (θ)}+τ _(J)=τ_(m)  (7)τ_(J) =K(θ−q)  (8)where θ∈R^(n) is the motor position. Equations (6) and (7) each describethe output side and driving end dynamics. Equation (8) couples equations(6) and (7) by the joint torque τ_(J)∈R^(n), which is assumed as linearspring torque. This can be readily expanded to non-linear joint springsby a person skilled in the art. In doing so, the damping in the jointscan be neglected since the expansion is trivial and is therefore nottaken into consideration, herein. The matrices K∈R^(n×n) and B∈R^(n×n)are both constant, positive defined diagonal matrices, which eachdescribe the stiffness of the joints and inertia of the motor. Theoutput side and driving end dynamics are not taken into consideration,herein, either.B Controller DesignB1 Cartesian Impedance Controller

A stable impedance control of robot manipulators having elastic jointscan be achieved by a skillful passivation of the system. This isachieved, e.g., in that the position feedback takes place as function ofθ instead of θ and q. To do so, q is replaced by its statisticequivalent q(θ)=ζ⁻¹(θ), which is numerically achieved by a contractionwith the implicit function ζ(q_(e))=q_(e)+K⁻¹g(q_(e)), wherein q_(e) isthe output side position of the equilibrium point.

Under weak assumptions, q(θ) can be used as estimator for q. Referenceis made to (Albu-Schäffer, Ott, & Hirzinger, A Unified Passivity-basedControl Framework for Position, Torque and Impedance Control of FlexibleJoint Robots, 2007) for more details on the implicit function ζ as wellas to the underlying theory. The passivity-based mathematical controllaw of impedance control for robot manipulators having flexible jointscan now be formulated as follows:τ_(mi) =−J ^(T)(q)(K _(x) {tilde over (x)}( q (θ))+D _(x) {dot over(x)})  (9){tilde over (x)}(θ)={tilde over (x)}( q (θ))=f( q (θ))−x _(s) =x(θ)−x_(s)  (10)B2 Cartesian Force Controller

The controller design is based on a Cartesian force controller.τ_(mf) =J ^(T)( q )((K _(p) −I)(F _(ext)(t)−F _(d)(t))+K _(d)({dot over(F)} _(ext)(t)−{dot over (F)} _(d)(t))+K _(i)∫_(B) ^(t) F _(ext)(t)−F_(d)(t)dσ)  (11)where K_(d)∈R^(6×6) and K_(i)∈R^(6×6) are each diagonal, positivedefinite matrices for the differential and integral ratio of thecontroller. I∈R^(6×6) describes the identity matrix, and the matrixK_(p)∈R^(6×6) is selected such that K_(p)−I is also diagonal andpositive definite. The desired force F_(d):=(f_(d) ^(T),m_(d) ^(T))^(T)applied onto the environment is predefined by the user or acorresponding planer. Furthermore defined ish_(i)(F_(ext)(t),t):=K_(i)∫₀ ^(t)F_(ext)(t)−F_(d)(t)dσ to improvesubsequent readability. F_(ext) can either be obtained by a force sensoror by an observer (Haddadin, Towards Safe Robots: Approaching Asimov's1st Law, 2013). If the force controller is to be applied to a rigidrobot, τ_(m)=τ_(mf) is inserted into equation (5) and into equation (7)for robots with flexible joints.B3 Unified Force and Impedance Controller

The simple combination of the above force and impedance controller leadsto the following mathematical control law:τ_(m) =−J ^(T)(q)((K _(p) −I)(F _(ext)(t)−F _(d)(t)+K _(d)({dot over(F)} _(ext)(t)−{dot over (F)} _(d)(t))+K _(i) h _(i) +K _(x) {tilde over(x)}({dot over (q)}(θ))+D _(x) {dot over (x)}).  (12)

Stability, however, cannot be guaranteed by such law. Therefore, thecontroller is required to be augmented with an energy tank (cf. FIG. 2),so that the passivity and therefore, in turn, the stability of thesystem is warranted. Thus, a new mathematical control law is created:τ_(m) =−J ^(T)(q)(γK _(d)({dot over (F)} _(d)(t)−{dot over (F)}_(ext)(t))−ωx _(t) +K _(x) {tilde over (x)}( q (θ))+D _(x) {dot over(x)}),  (13)where x_(t) is the condition of the energy tank, and ω is defined by

$\begin{matrix}{\omega = {\frac{\alpha}{x_{t}}{\left( {{K_{p}F_{d}} + {\left( {1 - \gamma} \right){K_{d}\left( {{{\overset{.}{F}}_{d}(t)} - {{\overset{.}{F}}_{ext}(t)}} \right)}} - {K_{i}h_{i}}} \right).}}} & (14)\end{matrix}$

The dynamics of the energy tank can be described by:

$\begin{matrix}{{\overset{.}{x}}_{t} = {{\frac{\beta}{x_{t}}\left( {{{\overset{.}{x}}^{T}D_{x}\overset{.}{x}} + {\gamma{\overset{.}{x}}^{T}{K_{d}\left( {{{\overset{.}{F}}_{d}(t)} - {{\overset{.}{F}}_{ext}(t)}} \right)}}} \right)} + {u_{t}.}}} & (15)\end{matrix}$

The input of the energy tank is described herein as u_(t). The binaryscalars α, β, γ always guarantee the stability of the entire system.

B4 Task-Based Initialization

To calculate the task energy, the statistical balance of forcesf_(I)|_(x=x) _(w) +f_(d)=f_(W) is used, where f_(I)=K_(x,t)(p−p_(s)) andf_(W)=K_(W,t)(p_(w)−p_(w,0)) are each the forces for the impedancestiffness and the counterforce of the environment. The counterforce,which is generated by a surface of an object, is modelled herein as alinear function in the stiffness without taking the dampening intoconsideration. By solving for p_(w), the position of the surface isobtained, after the force was controlled. The required work to move thissurface can be calculated as:

$\begin{matrix}{E_{T} = {\int_{0}^{t}{\frac{1}{2}\left( {{p_{W}(\sigma)} - p_{W,0}} \right)^{T}\ {K_{w,t}\left( {{p_{W}(\sigma)} - p_{W,0}} \right)}\mspace{11mu} d\;{\sigma.}}}} & (16)\end{matrix}$

Herein, only the translational energy is taken into consideration. Ofcourse, an expansion for rotational cases is required, which is readilypossible for the person skilled in the art.

For the specific control case f_(d)=konst., the task energy iscalculated as:

$\begin{matrix}{E_{T} = {\frac{1}{2}\left( {p_{W} - p_{W,0}} \right)^{T}\ {{K_{w,t}\left( {p_{W} - p_{W,0}} \right)}.}}} & (17)\end{matrix}$

The task energy is initialized accordingly.

C Stabilization of Losses of Contact

The stability of performing open-loop and closed-loop control of therobot manipulator is warranted for any conceivable cases, but this doesnot automatically mean that the robot manipulator performs exclusivelysecure movements. An unexpected loss of contact of the end effector witha surface of an object would still cause the robot having the robotmanipulator to try to control a force until the energy tank is empty.Depending on the remaining energy in the energy tank, this can alsocause large, fast and particularly undesired movements of the robotmanipulator.

To avoid this, it could be suggested that the controller is simplydeactivated as soon as contact is no longer detected between the endeffector and the environment/the object. This, however, causes anundesired switching behavior based on, e.g., sensor noise.

To avoid this, a robust position-based method is suggested herein, whichuses a controller-forming function S(v):=ρ(ψ), which is integrated intothe controller. Herein, it is as follows:ρ(ψ)=(ρ_(t)(ψ),ρ_(t)(ψ),ρ_(t)(ψ),ρ_(r)(ψ),ρ_(r)(ψ),ρ_(r)(ψ))^(T)and consists of a translational and a rotational ratio, each defined as:

${\rho_{t}(\psi)}:=\left\{ {{\begin{matrix}1 & {{{falls}\mspace{14mu} f_{d}^{\; T}\Delta\; p} \geq 0} \\{\frac{1}{2}\left\lbrack {1 + {\cos\mspace{11mu}\left( {\frac{\psi - {{\Delta\; p}}}{d_{\max}}\pi} \right)}} \right\rbrack} & \begin{matrix}{{{{falls}\mspace{14mu} f_{d}^{\; T}\Delta\; p} < {0\bigwedge\psi}} \in} \\\left\lbrack {{{\Delta\; p}},{{{\Delta\; p}} + d_{\max}}} \right\rbrack\end{matrix} \\0 & {sonst}\end{matrix}{and}{\rho_{r}(\psi)}}:=\left\{ {{\begin{matrix}1 & {{{falls}\mspace{14mu} m_{d}^{\; T}\Delta\; k_{0}\Delta\; k_{v}} \geq 0} \\{\frac{1}{2}\left\lbrack {1 + {\cos\mspace{11mu}\left( {\frac{\psi - {\Delta\;\varphi}}{\varphi_{\max}}\pi} \right)}} \right\rbrack} & \begin{matrix}{{{falls}\mspace{14mu} m_{d}^{\; T}\Delta\; k_{0}\Delta\; k_{v}} <} \\{{0\bigwedge\psi} \in \left\lbrack {{\Delta\;\varphi},{{\Delta\;\varphi} + \varphi_{\max}}} \right\rbrack}\end{matrix} \\0 & {sonst}\end{matrix}.{falls}} = {{{if}{sonst}} = {{otherwise}.}}} \right.} \right.$

The function ρ(ψ) in this example corresponds to the above functionS(v), and ψ corresponds to the control error {right arrow over (R)}(t)of the controller.

A robot posture x:=(p^(T),φ^(T))^(T) consists of a translational ratio pand a suitable rotational representation, such as, e.g., a Euler angleφ.

In the above, Δp=p_(s)−p is the given vector, which points from the endeffector to the virtually desired position and F_(d):=(f_(d) ^(T),m_(d)^(T))^(T) is the given desired 6-dimensional force wrench (cf. FIG. 2).As soon as Δp and f_(d) include an angle larger than 90° the controllershould be deactivated.

To warrant a smooth transition, an interpolating function ρ_(t)(ψ) isselected, which interpolates in a user-defined region d_(max). Forrotational ratio ρ_(r)(ψ), quaternions are actuated as nonsingularrepresentation. The unit quaternion k=(k₀,k_(v)) indicates the currentorientation and the quaternion k_(s)=(k_(0,s),k_(v,s)) the desiredorientation.

The rotational error is then defined as Δk:=k⁻¹k_(s) and Δφ:=2arccos(Δk₀). The user-defined region, which represents a robustness, canbe indicated by an angle φ_(max), which represents a relationship with ascalar component of the quaternion by φ_(max):=2 arccos(k_(0,max)). Fromthe point of view of stability analysis, this shaping function can beinterpreted as a shaping of ω, which only scales the force controller ofthe combined force and impedance controller. Therefore, ω can be newlydefined as ω_(φ):−ρ(ψ)ω and the stability is warranted, again. Themultiplication of ρ(ψ) is done component-wise, herein.

D Handling of flexible and Strongly Compliant Objects

If a position-based method is used for control, as introduced in theprevious section, it must be taken into consideration that soft anddeformable materials require a specific handling. To take intoconsideration a planning of the virtually desired position withoutcompliancy or deformation of the environment, in some circumstancescauses the problem that the force controller is involuntarilydeactivated or scaled. This is conditioned by the fact that, currently,based on compliancy, another current position exists as compared towithout the presence of compliancy. Therefore, a corrective virtuallydesired position x′_(d)=(p′_(d) ^(T),φ′_(d) ^(T))^(T) is introduced toadjust the virtually desired position of the controller for suchflexible and strongly compliant materials. K_(mat) hereafter indicatesthe assumed (but not necessarily known) stiffness of the surface orobject to be treated. A quasi-static mathematical correction lawtherefore is:

$\begin{matrix}{\begin{pmatrix}p_{d}^{\prime} \\\varphi_{d}^{\prime}\end{pmatrix} = {\begin{pmatrix}p_{d} \\\varphi_{d}\end{pmatrix} - {\begin{bmatrix}K_{{t},{mat}} & K_{{tr},{mat}} \\K_{{rt},{mat}} & K_{r,{mat}}\end{bmatrix}^{- 1}\begin{pmatrix}f_{d} \\m_{d}\end{pmatrix}}}} & (18)\end{matrix}$or, more briefly, x′_(d)=x_(d)−K_(mat) ⁻¹F_(d). It can be discerned thatthe virtually desired position is displaced such that the deviationcaused by the soft-elastic material is corrected, accordingly (cf. FIG.4). Of course, the environmental stiffness must be known or at leastestimated for this approach. From equation (18) however, it followsintuitively, that for K→∞ the previous case is achieved. Of course, thelaw can also be extended in such way that a dampening of the environmentis also taken into consideration. This however, aggravates thecalculation.

REFERENCES

-   Albu-Schäffer, A., Fischer, M., Schreiber, G., Schoeppe, F., &    Hirzinger, G. (2004). Soft robotics: What Cartesian stiffness can    obtain with passively compliant, uncoupled joints. IROS.-   Albu-Schäffer, A., Ott, C., & Hirzinger, G. (2007). A Unified    Passivity-based Control Framework for Position, Torque and Impedance    Control of Flexible Joint Robots. The Int. J. of Robotics Research,    (p. 23-39).-   Borghesan, G., & De Schutter, J. (2014). Constraint-based    specification of hybrid position-impedance-power tasks. IEEE    International Conference on Robotics and Automation 2014 (ICRA2014).-   Cervera, J., Van Der Schaft, A., & Banos, A. (2007). Interconnection    of port-Hamiltonian systems and composition of Dirac structures.    Automatica (p. 212-225). Elsevier.-   Duffy, J. (1990). The fallacy of modern hybrid control theory that    is based on orthogonal complements of twist and wrench spaces. (p.    139-144). Wiley Online Library.-   Duindam, V., & Stramigioli, S. (2004). Port-based asymptotic curve    tracking for mechanical systems. (p. 411-420). Elsevier.-   Haddadin, S. (2013). Towards Safe Robots: Approaching Asimov's 1st    Law. Springer Publishing Company, Incorporated.-   Haddadin, S., Albu-Schäffer, A., De Luca, A., & Hirzinger, G.    (2008). Collision detection and reaction: A contribution to safe    physical human-robot interaction. Intelligent Robots and Systems (p.    3356-3363). IEEE.-   Hogan, N. (1985). {Impedance Control: An approach to manipulation:    Part I—Theory, Part II—Implementation, Part II—Applications. ASME    Journal of Dynamic Systems, Measurement, and Control, (p. 1-24).-   Lee, D., & Huang, K. (2010). Passive-set-position-modulation    framework for interactive robotic systems. IEEE Transactions on    Robotics (p. 354-369). IEEE.-   Lutscher, E., & Cheng, G. (2014). Constrained Manipulation in    Unstructured Environment Utilizing Hierarchical Task Specification    for Indirect force Controlled Robots. IEEE International Conference    on Robotics and Automation 2014 (ICRA2014).-   Raibert, M. H., & Craig, J. J. (1981). Hybrid position/power control    of manipulators. ASME Journal of Dynamical Systems, Measurement and    Control, (p. 126-133).-   Spong, M. (1987). Modeling and Control of Elastic Joint Robots.    ASME J. on Dynamic Systems, Measurement, and Control, (p. 310-319).-   Villani, L, & De Schutter, J. (2008). force Control. In O. Khatib,    Springer Handbook of Robotics (p. 161-185). Springer.-   Zeng, G., & Hemami, A. (1997). An overview of robot force control.    Robotica (p. 473-482). Cambridge Univ Press.

Further advantages, features and details result from the followingdescription, in which—under reference to the drawing, if required—atleast one example embodiment is described in detail. Same, similarand/or identically functioning components are indicated with the samereference numerals.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIGS. 1A-C show a conceptually simplified diagrams to illustrate asuggested hybrid controller having an impedance controller and a forcecontroller,

FIG. 2 shows a model system illustration for performing open-loop andclosed-loop control of a robot manipulator, which interacts with theenvironment;

FIG. 3A shows a schematized illustrated impedance controlled robotmanipulator having an end effector EFF and a predefined translationalrobustness region d_(max);

FIG. 3B shows a controller shaping function ρ(ψ)=S(v(t)) for thetranslational case;

FIG. 4 shows a graph for deformation of elastic material by appliedpressure of the end effector in the translational case;

FIG. 5A and FIG. 5B show schematized block diagrams of a suggesteddevice; and

FIG. 6 shows a schematized flowchart of a suggested method.

DETAILED DESCRIPTION

FIGS. 1A-1C shows a conceptually simplified diagrams to illustrate asuggested hybrid controller having an impedance controller and a forcecontroller. Dampers are not shown for reasons of clarity. FIG. 1A showsa pure impedance controlled robot manipulator having an end effectorEFF. The impedance control is indicated by the illustrated spring. FIG.1B shows a pure force controlled robot manipulator having an endeffector EFF, which presses with a predefined force F_(d) against anobject surface (shaded line). FIG. 1C shows a combination of the forcecontroller and the impedance controller according to the invention fromFIG. 1A and FIG. 1B.

FIG. 2 shows a model system illustration for performing open-loop andclosed-loop control of a robot manipulator according to the inventionhaving an end effector, which interacts with anenvironment/object/workpiece. Represented as function blocks are theenvironment (=: “environment”), which interacts with the robotmanipulator (=: “rigid body dynamics”) and the actuators (=: “motordynamics”). The control and regulation of the actuators is implementedby a controller (=: “force/impedance controller”), to which an energytank (=: “energy tank”) can be coupled. The connections and feedbackconnections of the blocks, which are interconnected with one another,are shown with the corresponding in/outputs and exchanged quantities. Bydecoupling of the controller from the energy tank in case of violationof the passivity of the controller, feedback of the external forces isannulled.

FIG. 3A shows a schematized illustrated impedance controlled robotmanipulator having an end effector EFF and a predefined translationalrobustness region d_(max). As illustrated Δp=p_(s)−p indicates thevector, which points from the end effector position p to a set pointp_(s), wherein f_(d) indicates the predefined force wrench.

FIG. 3B shows a controller shaping function p(ψ)=S(v(t)) for thetranslational case. More detailed illustrations regarding the functionp(ψ) can be found in the above description (cf. Part: “C Stabilizationof losses of contact”).

FIG. 4 shows a graph for deformation of elastic material by appliedpressure of the end effector EFF in the translational case, whichillustrates in the above description in more detail (cf. Part “DHandling of flexible and strongly complaint objects”).

FIG. 5A and FIG. 5B show schematized block diagrams of a suggesteddevice 100 for performing open-loop and closed-loop control of a robotmanipulator 103 having an end effector EFF, driven by a number M ofactuators ACT_(m) 104 a-104 c, where m=1, 2, 3. The device 100 includesa first unit 101 and a controller 102, while the robot manipulator 103includes actuators 104 a-104 c and the end effector EFF.

The first unit 101 registers and/or makes available an external forcewrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (m)}_(ext)(t)} acting on the endeffector EFF of the robot manipulator 103, wherein {right arrow over(f)}_(ext)(t):=external force acting on the end effector EFF; {rightarrow over (m)}_(ext)(t):=external torque acting on the end effectorEFF.

The controller 102 is connected with the first unit 101 and theactuators ACT_(m) 104 a-104 c. The controller 102 includes a firstcontroller R1 102 a, which is a force controller, and a secondcontroller R2 102 b connected therewith, which is an impedancecontroller. The controller 102 determines actuating variables u_(m)(t),by which the actuators ACT_(m) 104 a-104 c can be actuated in such waythat when contact occurs with the surface of an object 105, the endeffector acts on the object with a desired force wrench {right arrowover (F)}_(D)(t)={{right arrow over (f)}_(D)(t),{right arrow over(m)}_(D)(t)}, wherein: u_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where: {rightarrow over (f)}_(D)(t):=predefined force; {right arrow over(m)}_(D)(t):=predefined torque, u_(m,R1)(t):=actuating variables of thefirst controller R1 102 a, and u _(m,R2)(t):=actuating variables of thesecond controller R2 102 b.

In a first embodiment of the device shown in FIG. 5A, the firstcontroller R1 102 a is embodied and configured such that an actuatingvariable u_(m,R1)(t) is determined as a product of a variableu_(m,R1)(t)* output by controller R1 and a function S(v(t)), wherein:u_(m,R1)(t)=S(v(t))·u_(m,R1)(t)*, v(t)=v({right arrow over (F)}_(D)(t),{right arrow over (R)}(t)), vϵ[v_(a), v_(e)], where: u_(m,R1)(t)*:=avariable determined by the first controller R1 to generate the desiredforce wrench {right arrow over (F)}_(D)(t), {right arrow over (R)}(t):=acontrol error of the controller 102, S(v(t)):=a monotonically decreasingfunction of v(t), which depends on desired force wrench {right arrowover (F)}_(D)(t) and control error {right arrow over (R)}(t), and[v_(a), v_(e)]:=a predefined definition area of the variable v(t).

In a second embodiment of the device shown in FIG. 5B, the firstcontroller R1 is embodied and configured such that an actuating variableu_(m,R1)(t) of R1 is determined as a Q-dimensional function S*(v*(t),u_(m,R1)(t)*), wherein: S*(v*(t), u_(m,R1)(t)*):=a Q-dimensionalfunction, where the influence of the variable u_(m,R1)(t)* output by R1is generally monotonically decreasing in each of Q individual components[v₁*(t), v₂*(t), . . . , V_(Q)*(t)], [v_(1a), v_(1e)], [v_(2a), V_(2e)],. . . , [V_(Qa), v_(Qe)] is a component-wise definition area of a vectorquantity v*(t) of a dimension Q.

FIG. 6 shows a schematized flowchart of a suggested method 200 forperforming open-loop and closed-loop control of a robot manipulatorhaving an end effector, driven by a number M of actuators ACT_(m), wherem=1, 2, . . . , M. The method includes the following steps.

In step 201, there is a registering and/or making available of anexternal force wrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (τ)}_(ext)(t)} acting on the endeffector, where: {right arrow over (f)}_(ext)(t):=external force actingon the end effector, {right arrow over (m)}_(ext)(t):=external torqueacting on the end effector.

In step 202, there is a determining of actuating variables u_(m)(t), bywhich actuators ACT_(m) are actuated such that, the end effector in caseof contact with a surface of an object acts on the object with a desiredforce wrench {right arrow over (F)}_(D)(t)={{right arrow over(f)}_(D)(t),{right arrow over (m)}_(D)(t)}, by a using controller 102.As described herein, the controller 102 includes a first controller R1,which is a force controller, and a second controller R2 connectedtherewith, which is an impedance controller, wherein:u_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), wherein: {right arrow over(f)}_(D)(t):=predefined force; {right arrow over (m)}_(D)(t):=predefinedtorque, u_(m,R1)(t):=actuating variables of the first controller R1, andu_(m,R2)(t):=actuating variables of the second controller R2.

In a first embodiment of the controller 102, the first controller R1determines an actuating variable u_(m,R1)(t) as product of a variableu_(m,R1)(t)* output by R1 and a function S(v(t)), wherein:u_(m,R1)(t)=S(v(t)) u_(m,R1)(t)*, v(t)=v({right arrow over (F)}_(D)(t),{right arrow over (R)}(t)), and vϵ[v_(a), v_(e)], where: u_(m,R1)(t)*:=avariable determined by the first controller R1 for generation of thedesired force wrench {right arrow over (F)}_(D)(t), {right arrow over(R)}(t):=a control error of the controller 102, S(v(t)):=a monotonicallydecreasing function of v(t), which depends on {right arrow over(F)}_(D)(t) and {right arrow over (R)}(t), [v_(a), v_(e)]:=a predefineddefinition area of the variable v(t).

In a second embodiment of the controller 102, the first controller R1determines an actuating variable u_(m,R1)(t) as a Q-dimensional functionS*(v*(t), u_(m,R1)(t)*), wherein: S*(v*(t), u_(m,R1)(t)*):=is aQ-dimensional function, where the influence of the variable u_(m,R1)(t)*output by R1 is generally monotonically decreasing in each of Qindividual components [v₁*(t), v₂*(t), . . . , V_(Q)*(t)], [v_(1a),v_(1e)], [v_(2a), v_(2e)], . . . , [v_(Qa), v_(Qe)] is a component-wisedefinition area of a vector quantity v*(t) of a dimension Q.

Although the invention was illustrated and explained in more detail bypreferred example embodiments, the invention is not limited by thedisclosed examples, and other variations can be derived therefrom by theperson skilled in the art without leaving the scope of protection of theinvention. It is therefore understood, that a plurality of variationpossibilities exists. It is also understood, that example statedembodiments do indeed represent mere examples, which are not to beinterpreted in any way as limitation of, e.g., the scope of protection,the application possibilities or the configuration of the invention.Rather, the previous description and the description of the figuresenable the person skilled in the art to specifically implement theexample embodiments, wherein the person skilled in the art can implementvarious changes with the knowledge of the disclosed idea of theinvention, for example with respect to the function or arrangement ofindividual elements mentioned in an example embodiment, without leavingthe scope of protection, which is defined by the claims and their legalequivalences, such as the further explanation in the description.

What is claimed is:
 1. A device to perform open-loop and closed-loopcontrol of a robot manipulator having an end effector, driven by anumber M of actuators ACT_(m), where m=1, 2, . . . , M, the devicecomprising: a first unit to register and/or make available an externalforce wrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (m)}_(ext)(t)} acting on the endeffector, where: {right arrow over (f)}_(ext)(t):=external force actingon the end effector, {right arrow over (m)}_(ext)(t):=external torqueacting on the effector; and a controller connected to the first unit andthe actuators ACT_(m), the controller comprising a first controller R1and a second controller R2 connected therewith, the first controller R1is a force controller, and a second controller R2 is an impedancecontroller, an admittance controller, a position controller, or a cruisecontroller, wherein the controller determines actuating variablesu_(m)(t), by which the actuators ACT_(m) are actuated in such way thatwhen the end effector contacts the surface of an object, the endeffector acts on the object with a desired force wrench {right arrowover (F)}_(D)(t)={{right arrow over (f)}_(D)(t),{right arrow over(m)}_(D)(t)}, wherein the actuating variables of the controlleru_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where: {right arrow over(f)}_(D)(t):=predefined force, {right arrow over (m)}_(D)(t):=predefinedtorque, u_(m,R1)(t):=actuating variables of the first controller R1, andu_(m,R2)(t):=actuating variables of the second controller R2; whereinthe first controller R1 is embodied and configured in such way that anactuating variable u_(m,R1)(t) is determined as product of a variableu_(m,R1) (t)* output by controller R1 and a function S(v(t)), where:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*,v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)),v∈[v _(a) ,v _(e)], S(v(t)):=a monotonically decreasing function of v(t)that depends on {right arrow over (F)}_(D)(t) and {right arrow over(R)}(t), and [v_(a),v_(e)]:=a predefined definition area of the variablev(t); or wherein the first controller R1 is embodied and configured insuch way that the actuating variable u_(m,R1)(t) output by controller R1is determined as a Q-dimensional function S*(v*(t)v,u_(m,R1)(t)*),where:u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*),v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))],v*(t)=[v ₁*(t),v ₂*(t), . . . ,v _(Q)*(t)],v ₁*(t)∈[v _(1a) ,v _(1e)],v ₂*(t)∈[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)∈[v _(Qa) ,v _(Qe)], S*(v*(t),u_(m,R1)(t)*):=a function whereinfluence of u_(m,R1)(t)* is monotonically decreasing, and[v_(1a),v_(1b)], . . . :=component-wise predefined definition area ofQ-dimensional variable v*(t); and wherein: u_(m,R1)(t)*:=a variabledetermined and output by the first controller R1 to generate the desiredforce wrench {right arrow over (F)}_(D)(t), and {right arrow over(R)}(t):=a control error of the controller.
 2. The device according toclaim 1, wherein, in a case that the object is elastic and its surfaceis flexible, the controller takes into consideration predefinedelasticity properties of the object when determining the actuatingvariables u_(m)(t).
 3. The device according to claim 1, wherein a secondunit is present, which serves as energy storage for passivation of thecontroller, and which stores energy T1 coming from the controlleraccording to predefined energy storage dynamics, and delivers energy T2to the controller, wherein the second unit and the controller form aclosed loop, and an initialization of the second unit with energy T0depends on a determined or predefined expenditure of energyE_(Expenditure) to implement a current task of the robot manipulator. 4.The device according to claim 3, wherein stored energy E is a virtualenergy or a physical energy.
 5. The device according to claim 3, whereinan upper energy limit G1 is defined, and the second unit is embodied andconfigured such that E≤G1 is always true for the stored energy E in thesecond unit.
 6. The device according to claim 5, wherein a lower energylimit G2 is defined as: 0<G2<G1, and the second unit is embodied suchthat: G2<E≤G1 is true for the stored energy E in the second energy unit,when the second unit is coupled to the controller; and E≤G2 is true forthe stored energy E in the second energy unit, when the second unit isuncoupled from the controller.
 7. The device according to claim 1,wherein the first unit has a sensor system to register the externalforce wrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (m)}_(ext)(t)} and/or an estimator toestimate the external force wrench {right arrow over(F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)}.
 8. A robot comprising: a robot manipulator having an endeffector, driven by a number M of actuators ACT_(m) where m=1, 2, . . ., M; and a device to perform open-loop and closed-loop control of therobot manipulator, the device comprising: a first unit configured toregister and/or make available an external force wrench {right arrowover (F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)} acting on the end effector, where: {right arrow over(f)}_(ext)(t):=external force acting on the end effector, {right arrowover (m)}_(ext)(t):=external torque acting on the effector; and acontroller connected to the first unit and the actuators ACT_(m), thecontroller comprising a first controller R1 and a second controller R2connected therewith, the first controller R1 is a force controller, andthe second controller R2 is an impedance controller, an admittancecontroller, a position controller, or a cruise controller, wherein thecontroller determines actuating variables u_(m)(t), by which theactuators ACT_(m) are actuated in such way that when the end effectorcontacts the surface of an object, the end effector acts on the objectwith a desired force wrench {right arrow over (F)}_(D)(t)={{right arrowover (f)}_(D)(t),{right arrow over (m)}_(D)(t)}, wherein the actuatingvariables of the controller u_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where:{right arrow over (f)}_(D)(t):=predefined force, {right arrow over(m)}_(D)(t):=predefined torque, u_(m,R1)(t):=actuating variables of thefirst controller R1, and u_(m,R2)(t):=actuating variables of the secondcontroller R2, wherein the first controller R1 is embodied andconfigured in such way that an actuating variable u_(m,R1)(t) isdetermined as product of a variable u_(m,R1)(t)* output by controller R1and a function S(v(t)), where:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*,v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)),v(t)∈[v _(a) ,v _(e)], S(v(t)):=a monotonically decreasing function ofv(t) that depends on {right arrow over (F)}_(D)(t) and {right arrow over(R)}(t), and [v_(a),v_(e)]:=a predefined definition area of the variablev(t); or wherein the first controller R1 is embodied and configured insuch way that the actuating variable u_(m,R1)(t) output by controller R1is determined as a Q-dimensional function S*(v*(t),u_(m,R1)(t)*), where:u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*),v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))]v*(t)=[v ₁*(t),v ₂*(t), . . . ,v _(Q)*(t)],v ₁*(t)∈[v _(1a) ,v _(1e)],v ₂*(t)∈[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)∈[v _(Qa) ,v _(Qe)], S*(v*(t),u_(m,R1)(t)*):=a function whereinfluence of u_(m,R1)(t)* is monotonically decreasing, and[v_(1a),v_(1b)], . . . :=component-wise predefined definition area ofQ-dimensional variable v*(t); and wherein: u_(m,R1)(t)*:=a variabledetermined and output by the first contoller R1 to generate the desiredforce wrench {right arrow over (F)}_(D)(t), and {right arrow over(R)}(t):=a control error of the controller.
 9. A method of open-loop andclosed-loop control of a robot manipulator having an end effector,driven by a number M of actuators ACT_(m), where m=1, 2, . . . , M, themethod comprising: registering and/or making available an external forcewrench {right arrow over (F)}_(ext)(t)={{right arrow over(f)}_(ext)(t),{right arrow over (m)}_(ext)(t)} acting on the endeffector, where: {right arrow over (f)}_(ext)(t):=external force actingon the end effector, {right arrow over (m)}_(ext)(t):=external torqueacting on the end effector; and determining by using a controller, thecontroller comprising a first controller R1, which is a forcecontroller, and a second controller R2 connected therewith, the secondcontroller R2 is an impedance controller, an admittance controller, aposition controller, or a cruise controller, actuating variablesu_(m)(t), by which the actuators ACT_(m) are actuated such that when theend effector contacts a surface of an object, the end effector acts onthe object with a desired force wrench {right arrow over (F)}_(D)(t)={{right arrow over (f)}_(D)(t),{right arrow over (m)}_(D)(t)},wherein the actuating variables of the controlleru_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where: {right arrow over(f)}_(D)(t):=predefined force, {right arrow over (m)}_(D)(t):=predefinedtorque, u_(m,R1) (t):=actuating variables of the first controller R1,and u_(m,R2)(t):=actuating variables of the second controller R2,wherein the first controller R1 determines an actuating variableu_(m,R1)(t) as product of a variable u_(m,R1)(t)* output by thecontroller R1 and a function S(v(t)), where:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*,v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)),v∈[v _(a) ,v _(e)], S(v(t)):=a monotonically decreasing function of v(t)that depends on {right arrow over (F)}_(D)(t) and {right arrow over(R)}(t), and [v_(a),v_(e)]:=a predefined definition area of the variablev(t); or wherein the first controller R1 is embodied and configured insuch war that the actuating variable u_(m,R1)(t) output by controller R1is determined as a Q-dimensional function S*(v*(t),u_(m,R1)(t), where:u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*),v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))],v*(t)=[v ₁*(t),v ₂*(t), . . . ,v _(Q)*(t)],v ₁*(t)∈[v _(1a) ,v _(1e)],v ₂*(t)∈[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)∈[v _(Qa) ,v _(Qe)], S*(v*(t), u_(m,R1)(t)*):=a function whereinfluence of u_(m,R1)(t)* is monotonically decreasing, and[v_(1a),v_(1b)], . . . :=component-wise predefined definition area ofQ-dimensional variable v*(t); and wherein: u_(m,R1)(t):=a variabledetermined and output by the first controller R1 to generate the desiredforce wrench {right arrow over (F)}_(D)(t), and {right arrow over(R)}(t):=a control error of the controller.
 10. The method according toclaim 9, wherein determining the manipulated variables u_(m)(t) by thecontroller takes into consideration predefined elasticity properties ofthe object in case the object is elastic and therefore its surface isflexible.
 11. The method according to claim 9, wherein the methodcomprises: providing a second unit that serves as energy storage forpassivation of the controller, wherein energy T1 coming from thecontroller is stored in the second unit according to predefined energystorage dynamics, and energy T2 from the second unit is delivered to thecontroller, wherein the second unit and the controller form a closedloop; and initializing the second unit with an energy T0 depending on adetermined or predefined expenditure of energy E_(Expenditure) toimplement a current task of the robot manipulator.
 12. A system toperform open-loop and closed-loop) control of a robot manipulator havingan end effector, driven by a number M of actuators ACT_(m), where m=1,2, . . . , M, the system comprising: a data processing device; andstorage medium storing instructions that, when executed by the dataprocessing device, cause the data processing device to perform operationcomprising: registering and/or making available an external force wrench{right arrow over (F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{rightarrow over (m)}_(ext)(t)} acting on the end effector, where: {rightarrow over (f)}_(ext)(t):=external force acting on the end effector,{right arrow over (m)}_(ext)(t):=external torque acting on the endeffector; and determining by using a controller, the controllercomprising a first controller R1, which is a force controller, and asecond controller R2 connected therewith, the second controller R2 is animpedance controller, an admittance controller, a position controller,or a cruise controller, actuating variables u_(m)(t), by which theactuators ACT_(m) are actuated such that when the end effector contactsa surface of an object, the end effector acts on the object with adesired force wrench {right arrow over (F)}_(D)(t)={{right arrow over(f)}_(D)(t),{right arrow over (m)}_(D)(t)}, wherein the actuatingvariables of the controller u_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where:{right arrow over (f)}_(D)(t):=predefined force, {right arrow over(m)}_(D)(t):=predefined torque, u_(m,R1)(t):=actuating variables of thefirst controller R1, and u_(m,R2)(t):=actuating variables of the secondcontroller R2, wherein the first controller R1 determines an actuatingvariable u_(m,R1)(t) as product of a variable u_(m,R1)(t)* output by thecontroller R1 and a function S(v(t)), where:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*,v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)),v(t)∈[v _(a) ,v _(e)], S(v(t)):=a monotonically decreasing function ofv(t) that depends on {right arrow over (F)}_(D)(t) and {right arrow over(R)}(t), and [v_(a),v_(e)] a predefined definition area of the variablev(t); or wherein the first controller R1 is embodied and configured insuch way that the actuating variable u_(m,R1)(t) output by controller R1is determined as a Q-dimensional function S*(v*(t),u_(m,R1)(t)*), where:u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*),v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))],v*(t)=[v ₁*(t),v ₂*(t), . . . ,v _(Q)*(t)],v ₁*(t)∈[v _(1a) ,v _(1e)],v ₂*(t)∈[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)∈[v _(Qa) ,v _(Qe)], S*(v*(t),u_(m,R1)(t)*):=a function whereinfluence of u_(m,R1)(t)* is monotonically decreasing, and[v_(1a),v_(1b)], . . . :=component-wise predefined definition area ofQ-dimensional variable v*(t); and wherein: u_(m,R1)(t)*:=a variabledetermined and output by the first controller R1 to generate of thedesired force wrench {right arrow over (F)}_(D)(t), and {right arrowover (R)}(t):=a control error of the controller.
 13. A non-transitorystorage medium storing instructions to perform open-loop and closed-loopcontrol of a robot manipulator having an end effector, driven by anumber M of actuators ACT_(m), where m=1, 2, . . . , M, the instructionswhen executed by a data processing device cause the data processingdevice to perform operations comprising: registering and/or makingavailable an external force wrench {right arrow over(F)}_(ext)(t)={{right arrow over (f)}_(ext)(t),{right arrow over(m)}_(ext)(t)} acting on the end effector, where: {right arrow over(f)}_(ext)(t):=external force acting on the end effector, {right arrowover (m)}_(ext)(t):=external torque acting on the end effector; anddetermining by using a controller, the controller comprising a firstcontroller R1, which is a force controller, and a second controller R2connected therewith, the second controller R2 is an impedancecontroller, an admittance controller, a position controller, or a cruisecontroller, actuating variables u_(m)(t), by which the actuators ACT_(m)are actuated such that when the end effector contacts a surface of anobject, the end effector acts on the object with a desired force wrench{right arrow over (F)}_(D)(t)={{right arrow over (f)}_(D)(t),{rightarrow over (m)}_(D)(t)}, wherein the actuating variables of thecontroller u_(m)(t)=u_(m,R1)(t)+u_(m,R2)(t), where: {right arrow over(f)}_(D)(t):=predefined force, {right arrow over (m)}_(D)(t):=predefinedtorque, u_(m,R1)(t):=actuating variables of the first controller R1, andu_(m,R2)(t):=actuating variables of the second controller R2, whereinthe first controller R1 determines an actuating variable u_(m,R1)(t) asproduct of a variable u_(m,R1)(t)* output by the controller R1 and afunction S(v(t)), where:u _(m,R1)(t)=S(v(t))·u _(m,R1)(t)*,v(t)=v({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)),v(t)∈[v _(a) ,v _(e)], S(v(t)):=a monotonically decreasing function ofv(t) that depends on {right arrow over (F)}_(D)(t) and {right arrow over(R)}(t), and [v_(a),v_(e)]:=a predefined definition area of the variablev(t); or wherein the first controller R1 is embodied and configured insuch way that the actuating variable u_(m,R1)(t) output by controller R1is determined as a Q-dimensional function S*(v*(t),u_(m,R1)(t)*), where:u _(m,R1)(t)=S*(v*(t),u _(m,R1)(t)*),v*(t)=v*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))=[v₁*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t)), . . . ,v_(Q)*({right arrow over (F)} _(D)(t),{right arrow over (R)}(t))],v*(t)=[v ₁*(t),v ₂*(t), . . . ,v _(Q)*(t)],v ₁*(t)∈[v _(1a) ,v _(1e)],v ₂*(t)∈[v _(2a) ,v _(2e)], . . . ,v_(Q)*(t)∈[v _(Qa) ,v _(Qe)], S*(v*(t),u_(m,R1)(t)*):=a function whereinfluence of u_(m,R1)(t)* is monotonically decreasing, and[v_(1a),v_(1b)], . . . :=component-wise predefined definition area ofQ-dimensional variable v*(t); and wherein: u_(m,R1)(t)*:=a variabledetermined and output by the first controller R1 to generate the desiredforce wrench {right arrow over (F)}_(D)(t), and {right arrow over(R)}(t):=a control error of the controller.